// 在Express框架应用中使用cookie实现用户访问计数器

// 1. 导入express、cookie-parser
const express = require("express");
const cookieParser = require("cookie-parser");
// 2. 创建一个app应用
const app = express();
// 通过中间件使用cookie
app.use(cookieParser());

// 3. 设置计数器请求路由，并作出响应
// (get /count) cookie版的计数器
app.get("/count", (req, res) => {
    // 从cookie中尝试读取计数器值
    let count = req.cookies.count;
    // 判断是否没有获取到，若没有则初始为0
    if (count === undefined){
        count = 0;
    }
    // 数值加加
    count++;
    // 写回cookie中
    res.cookie("count",count, {maxAge:60*60*1000});
    // 响应输出
    res.send(`<h1>你是第 ${count} 次访问本网页</h1>` + "<a href='/clear'>重置计数器</a>");
});


// (get /clear) 清除cookie信息
app.get("/clear", (req, res) => {
    //获取调用clearCookie（）方法清除
    res.clearCookie("count");
    res.redirect("/count");
});

// 4. 设置监听端口，并开启服务
app.listen(3000, () => {
    console.log("服务已开启，端口：3000");
});